Handheld computing devices have grown rapidly in popularity in recent years. These devices enable users to port many of the tools and features of their desktop computers on excursions away from home or the office. While these devices offer tremendous advantages for portability, most mobile users still rely on desktop computers when working at home or the office.
As a result of operating multiple computers, users often enter different information into different computers depending upon their situation and location. For instance, a user may enter tasks or other data into a work computer, appointments and contact information into a portable computer while on the road, and calendar events into a home computer when at home. Yet, when the user wants to see their schedule, the user wants to view the most up-to-date schedule, regardless of where the information was entered or where the user accesses it.
To avoid making the user enter the same data multiple times into different computers, most handheld computers are configured to swap information with desktop computers. Programs executing on one or both computers synchronize the exchange of schedules, appointments, and other data contents so that any unique information currently residing on one of the computers is shared with the other to bring both computers up to-date.
Typically, handheld computers connect to a host desktop computer via a serial connection. One common serial connection is known as a “null modem connection”, which uses a Unimodem null serial protocol to exchange data. According to this protocol, the handheld computer initiates communication by sending a message called “CLIENT”. The host computer replies with a message “S”, “E”, “R”, “V”, “E”, “R”, “C”, “L”, “I”, “E”, “N”, “T”. If both sides understand the transmission, a synchronization session is begun to synchronize the contents of the two computers.
One problem surrounding this serial protocol is that the message exchange is baud rate dependent. That is, both the handheld computer and the host computer must be operating at the same baud rate for each to understand the other's message. However, there are many different baud rates at which the two computers may communicate. For example, handheld computers that run the Windows CE operating system from Microsoft Corporation can support four different baud rates: 19.2K, 38K, 56K, and 115K. If the handheld computer is operating at one baud rate (e.g., 19.2K) and the host computer is operating at another baud rate (e.g., 56K), the two computers will not be able to communicate with one another. Unfortunately, connection failures due to serial baud rate mismatches tend to be common.
When a baud rate mismatch occurs, the user typically tries to adjust the baud rate of one of the computers. It tends to be harder to change the baud rate on the host computer, so the user generally ends up manually reconfiguring the handheld computer to a different baud rate.
Another problem is that an increasing number of users own more than one handheld computer. In some cases, the handheld computers may be set to different baud rates, whereas the host computer can be set to only one of these baud rates at a given time. As a result, the user is forced to adjust baud rates more often to accommodate the multiple portable devices.
Thus, there is a need for an improved system and method for connecting handheld computers to host computers over a null modem unimodem client connection.